In a semantic web, knowledge is expressed as ontology such as a Resource Description Framework (RDF) or a Web Ontology Language (OWL), and reasoning performs a function for expanding and processing the knowledge expressed as ontology. The ontology is a set of RDF triples, and each triple is configured as a set of <subject, predicate, object>. The triple is also referred to as a fact.
Depending on a time point of performing reasoning, reasoning techniques can be classified into forward reasoning which performs all steps of reasoning in advance before a query enters and backward reasoning which performs only the reasoning needed to process a query at a moment when the query enters. As the scale of ontology increases, a trend in recent reasoning techniques is a method of adopting the forward reasoning appropriate for instant query and answering as a mainstream and partially mixing the backward reasoning thereto. In addition, the reasoning techniques can be classified into descriptive logic-based reasoning and rule-based reasoning depending on a base logic, and the rule-based reasoning is advantageous from the practical aspect of reasoning, and the descriptive logic-based reasoning is advantageous from the completeness aspect of reasoning.
Although the rule-based forward reasoning technique is advantageous from the practical aspect of reasoning aiming at large-scaled ontology, if some triples of the ontology are changed or deleted, also triples that have already inferred and expanded from the changed or deleted triples are not valid any more. Therefore, it is general that the entire reasoning is performed again in order to solve this problem, and since a plenty of time is required for performing the reasoning, this can be an obstacle from the aspect of practicality.
Meanwhile, although a semantic web-based reasoning service analyzes and presents a result (e.g., research experts or a researcher network in a specific field) inferred from the knowledge explicitly expressed in the ontology through an internal process by applying the ontology and reasoning techniques, it does not provide a basis explaining how the analysis result is obtained. Unlike general information retrieval capable of instantly determining whether or not a result of retrieval is appropriate on viewing the retrieval result, the reasoning service cannot immediately determine whether or not a result of the service is correct only by viewing the service result.
Accordingly, users become doubtful about reliability of the semantic web-based reasoning service, and this may decrease satisfaction of users using the service.
Therefore, required is a triple storage technique capable of performing incremental reasoning without the need of performing the entire reasoning process even when a triple is deleted and presenting a basis (inference verification) for a result of the reasoning when a user requests.
Methods of physically storing an explicit triple and an inferred triple can be roughly categorized into three types as shown in FIG. 1. A vertical design method stores all triples in one storage unit (e.g., a DBMS table), and since the method is easy to design, it is advantageous when the scale of a triple is small. However, since concentrativeness of triples on a storage unit increases as the scale increases, efficiency is decreased. Contrarily, a horizontal design method distributes and stores triples by the property and the class, and if the scale of the triple is large, the method has advantages corresponding to a distribution effect. A mixed design is a method between the vertical design and the horizontal design. However, since incremental reasoning and inference verification cannot be effectively supported only with the mixed design, a separate storage technique is required.